Abszolút kezdő vagyok, két hétig önállóan tanultam, felkészülve egy hónap múlva érkező bootcampra. Annak érdekében, hogy fejlesszem képességeimet és "megtanuljak gondolkodni, mint egy fejlesztő", vállaltam egy projektet, amely megpróbál megoldani egy valós problémát. A feleségem olyan vállalkozást folytat, amely megköveteli, hogy számlát állítson elő ügyfelei számára. Megpróbálok HTML és JavaScript használatával létrehozni egy webalapú alkalmazást, amely lehetővé teszi számára, hogy gyorsan egyedi számlákat készítsen ahelyett, hogy minden alkalommal manuálisan kiírná őket. A jelenlegi verzióban egy prompt számot kér tőle. Ez a szám azonos számú három oszlopos sort generál a HTML-ben. Ez lehetővé teszi a számla testreszabását a szükséges mezők pontos számával. Az 1. oszlop tartalmazza a termék nevét. Ugyanebben a sorban a 2. oszlop tartalmazza az egységszámot, míg a 3. oszlop az adott termék teljes költségét tartalmazza, amely az alapár szorozva az egységszámmal. Azt akarom, hogy ez a számítás gombnyomásra történjen. De, elakadtam. A matematika elvégzéséhez képesnek kell lennem megszerezni az egyes sorokból és oszlopokból az egész számokat, és átadni őket egy függvénybe. Mivel azonban minden sor és oszlop automatikusan lett létrehozva, nincsenek egyedi attribútumaik, és így nem azonosíthatók. Minden oszlopban képes vagyok elvégezni a matematikát, de nem minden sorban. Mivel még olyan új vagyok, hogy csak néhány bevezető Codecademy tanfolyamon és néhány YouTube-videón tanultam, nem tudom, hogyan értékeljem, hogy teljesen rosszul állok-e hozzá a projekthez, vagy hiányzik-e valami trükk, vagy ha csak valami még nem tanult meg. Ha valaki, aki rendelkezik valamilyen szakértelemmel, képes a helyes irányba mozdítani, nagyon megköszönném! Csatoltam az összes kódot ehhez a bejegyzéshez. Elnézést, ha borzalmas rendetlenségről van szó. Menj nyugodtan, kezdő vagyok! const invDate = Dátum (); var field = " " + " " + "
"; document.getElementById ('newInvoice'). onclick = function () { hadd számlázottNév = prompt ('Kinek állítják ki ezt a számlát?', 'Írjon be egy nevet'); let productFields = Szám (prompt ('Hány terméknév van a számlán?', 'Kérjük, adjon meg egy számot')); let mezők = "" legyen dynHtml = "" if (számlázottNév! = null && productFields! = null) { for (legyen i = 1; i <= productFields; i ++) { mezők + = mező}; } else {alert ('Kérjük, adja meg az érvényes bemeneteket.'); }; dynHtml = ""; document.write (dynHtml); document.getElementById ('számítás'). onclick = függvény getQtyFields () { legyen qtyInputs = document.getElementsByName ('mennyiség'), eredményQty = 0; for (legyen j = 0; j ![]()
" + "SZÁMLA
" + "Felkészült a következőre: " + számlázottNév + ", a" + " "
" + invDate + "
" + mezők + "
" + "
2020-12-15 08:11:05
Mint mondta, a fő kérdés az, hogy megtalálja a módját annak, hogy a saját sorának minden beviteli mezőjének megadhassa a saját egyedi azonosítóját. Így kiszámíthatja az egyes sorok árát, és beillesztheti az ármezőbe. Először a mezőkkel kell kezdeni: var field = " " + " " + "
"; document.getElementById ('newInvoice'). onclick = function () { ... for (legyen i = 1; i <= productFields; i ++) { mezők + = mező}; ... }; Minden csoportnak szüksége van a saját azonosítójára. Így később az egyes sorok minden bemenetére hivatkozhat a teljes részár kiszámításához. Az class attribútumot több elemhez rendelhetjük, hogy később hivatkozhassunk rájuk. Ez az osztály bármi lehet, amennyiben nem ütközik más osztályok osztályával. Használhatja a hurok i-jét azonosítóként, mivel ez minden huroknál változik. for (legyen i = 1; i <= productFields; i ++) { var field = " " + " " + "
"; mezők + = mező }; Ez hozzáadja az osztály- {i} sor minden mezőjéhez. Még jobb, ha ezt átalakíthatod a saját funkciójába függvény generáljaFields (i) { return " " + " " + "
"; } for (legyen i = 1; i <= productFields; i ++) { mezők + = createFields (i); }; A következő html-hez hasonlót kap
Most a számítási függvényében hivatkozhat ezekre a sorokra, és kiszámíthatja azok árát. Itt továbbléphet az „item” beviteli mezőkön. document.getElementById ('számítás'). onclick = függvény getQtyFields () { let itemInputs = document.getElementsByName ('elem') for (legyen i = 0; i) használatával for (legyen i = 0; i